
../../kernel/binary/tty.ko:     file format elf32-i386

Disassembly of section .text:

00000000 <tty_open>:
   0:	55                   	push   %ebp
   1:	89 e5                	mov    %esp,%ebp
   3:	83 ec 14             	sub    $0x14,%esp
   6:	c7 45 fc 00 00 00 00 	movl   $0x0,0xfffffffc(%ebp)
   d:	eb 11                	jmp    20 <tty_open+0x20>
   f:	8b 45 fc             	mov    0xfffffffc(%ebp),%eax
  12:	8b 04 c5 04 00 00 00 	mov    0x4(,%eax,8),%eax
  19:	85 c0                	test   %eax,%eax
  1b:	75 0c                	jne    29 <tty_open+0x29>
  1d:	ff 45 fc             	incl   0xfffffffc(%ebp)
  20:	81 7d fc ff 0f 00 00 	cmpl   $0xfff,0xfffffffc(%ebp)
  27:	7e e6                	jle    f <tty_open+0xf>
  29:	81 7d fc 00 10 00 00 	cmpl   $0x1000,0xfffffffc(%ebp)
  30:	75 09                	jne    3b <tty_open+0x3b>
  32:	c7 45 ec ff ff ff ff 	movl   $0xffffffff,0xffffffec(%ebp)
  39:	eb 1f                	jmp    5a <tty_open+0x5a>
  3b:	8b 45 fc             	mov    0xfffffffc(%ebp),%eax
  3e:	c7 04 c5 04 00 00 00 	movl   $0x0,0x4(,%eax,8)
  45:	00 00 00 00 
  49:	8b 45 fc             	mov    0xfffffffc(%ebp),%eax
  4c:	c6 04 c5 00 00 00 00 	movb   $0xf,0x0(,%eax,8)
  53:	0f 
  54:	8b 45 fc             	mov    0xfffffffc(%ebp),%eax
  57:	89 45 ec             	mov    %eax,0xffffffec(%ebp)
  5a:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
  5d:	c9                   	leave  
  5e:	c3                   	ret    

0000005f <tty_read>:
  5f:	55                   	push   %ebp
  60:	89 e5                	mov    %esp,%ebp
  62:	83 ec 14             	sub    $0x14,%esp
  65:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
  69:	78 17                	js     82 <tty_read+0x23>
  6b:	81 7d 08 ff 0f 00 00 	cmpl   $0xfff,0x8(%ebp)
  72:	7f 0e                	jg     82 <tty_read+0x23>
  74:	8b 45 08             	mov    0x8(%ebp),%eax
  77:	8b 04 c5 04 00 00 00 	mov    0x4(,%eax,8),%eax
  7e:	85 c0                	test   %eax,%eax
  80:	74 09                	je     8b <tty_read+0x2c>
  82:	c7 45 ec 00 00 00 00 	movl   $0x0,0xffffffec(%ebp)
  89:	eb 7b                	jmp    106 <tty_read+0xa7>
  8b:	c7 45 f0 00 00 00 00 	movl   $0x0,0xfffffff0(%ebp)
  92:	8b 45 0c             	mov    0xc(%ebp),%eax
  95:	89 45 f4             	mov    %eax,0xfffffff4(%ebp)
  98:	c7 45 f8 00 00 00 00 	movl   $0x0,0xfffffff8(%ebp)
  9f:	eb 4e                	jmp    ef <tty_read+0x90>
  a1:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
  a4:	8a 80 00 00 00 00    	mov    0x0(%eax),%al
  aa:	84 c0                	test   %al,%al
  ac:	75 07                	jne    b5 <tty_read+0x56>
  ae:	c7 45 f0 00 00 00 00 	movl   $0x0,0xfffffff0(%ebp)
  b5:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
  b8:	8a 80 00 00 00 00    	mov    0x0(%eax),%al
  be:	84 c0                	test   %al,%al
  c0:	74 f3                	je     b5 <tty_read+0x56>
  c2:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
  c5:	8a 90 00 00 00 00    	mov    0x0(%eax),%dl
  cb:	8b 45 f4             	mov    0xfffffff4(%ebp),%eax
  ce:	88 10                	mov    %dl,(%eax)
  d0:	ff 45 f4             	incl   0xfffffff4(%ebp)
  d3:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
  d6:	8a 80 00 00 00 00    	mov    0x0(%eax),%al
  dc:	88 45 ff             	mov    %al,0xffffffff(%ebp)
  df:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
  e2:	c6 80 00 00 00 00 00 	movb   $0x0,0x0(%eax)
  e9:	ff 45 f0             	incl   0xfffffff0(%ebp)
  ec:	ff 45 f8             	incl   0xfffffff8(%ebp)
  ef:	8b 45 f8             	mov    0xfffffff8(%ebp),%eax
  f2:	3b 45 10             	cmp    0x10(%ebp),%eax
  f5:	72 aa                	jb     a1 <tty_read+0x42>
  f7:	8b 45 f4             	mov    0xfffffff4(%ebp),%eax
  fa:	c6 00 00             	movb   $0x0,(%eax)
  fd:	ff 45 f4             	incl   0xfffffff4(%ebp)
 100:	8b 45 f8             	mov    0xfffffff8(%ebp),%eax
 103:	89 45 ec             	mov    %eax,0xffffffec(%ebp)
 106:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
 109:	c9                   	leave  
 10a:	c3                   	ret    

0000010b <tty_write>:
 10b:	55                   	push   %ebp
 10c:	89 e5                	mov    %esp,%ebp
 10e:	83 ec 18             	sub    $0x18,%esp
 111:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
 115:	78 17                	js     12e <tty_write+0x23>
 117:	81 7d 08 ff 0f 00 00 	cmpl   $0xfff,0x8(%ebp)
 11e:	7f 0e                	jg     12e <tty_write+0x23>
 120:	8b 45 08             	mov    0x8(%ebp),%eax
 123:	8b 04 c5 04 00 00 00 	mov    0x4(,%eax,8),%eax
 12a:	85 c0                	test   %eax,%eax
 12c:	74 09                	je     137 <tty_write+0x2c>
 12e:	c7 45 ec 00 00 00 00 	movl   $0x0,0xffffffec(%ebp)
 135:	eb 4b                	jmp    182 <tty_write+0x77>
 137:	8b 45 0c             	mov    0xc(%ebp),%eax
 13a:	89 45 f8             	mov    %eax,0xfffffff8(%ebp)
 13d:	c7 45 fc 00 00 00 00 	movl   $0x0,0xfffffffc(%ebp)
 144:	eb 2e                	jmp    174 <tty_write+0x69>
 146:	8b 45 08             	mov    0x8(%ebp),%eax
 149:	8a 04 c5 00 00 00 00 	mov    0x0(,%eax,8),%al
 150:	ba 00 00 00 00       	mov    $0x0,%edx
 155:	88 c2                	mov    %al,%dl
 157:	8b 45 fc             	mov    0xfffffffc(%ebp),%eax
 15a:	03 45 f8             	add    0xfffffff8(%ebp),%eax
 15d:	8a 00                	mov    (%eax),%al
 15f:	25 ff 00 00 00       	and    $0xff,%eax
 164:	83 ec 08             	sub    $0x8,%esp
 167:	52                   	push   %edx
 168:	50                   	push   %eax
 169:	e8 fc ff ff ff       	call   16a <tty_write+0x5f>
 16e:	83 c4 10             	add    $0x10,%esp
 171:	ff 45 fc             	incl   0xfffffffc(%ebp)
 174:	8b 45 fc             	mov    0xfffffffc(%ebp),%eax
 177:	3b 45 10             	cmp    0x10(%ebp),%eax
 17a:	72 ca                	jb     146 <tty_write+0x3b>
 17c:	8b 45 fc             	mov    0xfffffffc(%ebp),%eax
 17f:	89 45 ec             	mov    %eax,0xffffffec(%ebp)
 182:	8b 45 ec             	mov    0xffffffec(%ebp),%eax
 185:	c9                   	leave  
 186:	c3                   	ret    

00000187 <tty_seek>:
 187:	55                   	push   %ebp
 188:	89 e5                	mov    %esp,%ebp
 18a:	b8 00 00 00 00       	mov    $0x0,%eax
 18f:	5d                   	pop    %ebp
 190:	c3                   	ret    

00000191 <tty_ioctl>:
 191:	55                   	push   %ebp
 192:	89 e5                	mov    %esp,%ebp
 194:	83 ec 04             	sub    $0x4,%esp
 197:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
 19b:	78 17                	js     1b4 <tty_ioctl+0x23>
 19d:	81 7d 08 ff 0f 00 00 	cmpl   $0xfff,0x8(%ebp)
 1a4:	7f 0e                	jg     1b4 <tty_ioctl+0x23>
 1a6:	8b 45 08             	mov    0x8(%ebp),%eax
 1a9:	8b 04 c5 04 00 00 00 	mov    0x4(,%eax,8),%eax
 1b0:	85 c0                	test   %eax,%eax
 1b2:	74 09                	je     1bd <tty_ioctl+0x2c>
 1b4:	c7 45 fc 00 00 00 00 	movl   $0x0,0xfffffffc(%ebp)
 1bb:	eb 1a                	jmp    1d7 <tty_ioctl+0x46>
 1bd:	83 7d 0c 01          	cmpl   $0x1,0xc(%ebp)
 1c1:	75 0d                	jne    1d0 <tty_ioctl+0x3f>
 1c3:	8b 45 08             	mov    0x8(%ebp),%eax
 1c6:	8b 55 10             	mov    0x10(%ebp),%edx
 1c9:	88 14 c5 00 00 00 00 	mov    %dl,0x0(,%eax,8)
 1d0:	c7 45 fc 00 00 00 00 	movl   $0x0,0xfffffffc(%ebp)
 1d7:	8b 45 fc             	mov    0xfffffffc(%ebp),%eax
 1da:	c9                   	leave  
 1db:	c3                   	ret    

000001dc <tty_stat>:
 1dc:	55                   	push   %ebp
 1dd:	89 e5                	mov    %esp,%ebp
 1df:	8b 45 0c             	mov    0xc(%ebp),%eax
 1e2:	c7 40 04 00 20 00 00 	movl   $0x2000,0x4(%eax)
 1e9:	8b 45 0c             	mov    0xc(%ebp),%eax
 1ec:	c7 40 10 01 00 00 00 	movl   $0x1,0x10(%eax)
 1f3:	8b 45 0c             	mov    0xc(%ebp),%eax
 1f6:	8b 50 10             	mov    0x10(%eax),%edx
 1f9:	8b 45 0c             	mov    0xc(%ebp),%eax
 1fc:	89 50 30             	mov    %edx,0x30(%eax)
 1ff:	b8 00 00 00 00       	mov    $0x0,%eax
 204:	5d                   	pop    %ebp
 205:	c3                   	ret    

00000206 <tty_close>:
 206:	55                   	push   %ebp
 207:	89 e5                	mov    %esp,%ebp
 209:	83 ec 04             	sub    $0x4,%esp
 20c:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
 210:	78 17                	js     229 <tty_close+0x23>
 212:	81 7d 08 ff 0f 00 00 	cmpl   $0xfff,0x8(%ebp)
 219:	7f 0e                	jg     229 <tty_close+0x23>
 21b:	8b 45 08             	mov    0x8(%ebp),%eax
 21e:	8b 04 c5 04 00 00 00 	mov    0x4(,%eax,8),%eax
 225:	85 c0                	test   %eax,%eax
 227:	74 09                	je     232 <tty_close+0x2c>
 229:	c7 45 fc 00 00 00 00 	movl   $0x0,0xfffffffc(%ebp)
 230:	eb 15                	jmp    247 <tty_close+0x41>
 232:	8b 45 08             	mov    0x8(%ebp),%eax
 235:	c7 04 c5 04 00 00 00 	movl   $0x1,0x4(,%eax,8)
 23c:	01 00 00 00 
 240:	c7 45 fc 00 00 00 00 	movl   $0x0,0xfffffffc(%ebp)
 247:	8b 45 fc             	mov    0xfffffffc(%ebp),%eax
 24a:	c9                   	leave  
 24b:	c3                   	ret    

0000024c <tty_keyisr>:
 24c:	55                   	push   %ebp
 24d:	89 e5                	mov    %esp,%ebp
 24f:	83 ec 18             	sub    $0x18,%esp
 252:	83 ec 0c             	sub    $0xc,%esp
 255:	6a 60                	push   $0x60
 257:	e8 fc ff ff ff       	call   258 <tty_keyisr+0xc>
 25c:	83 c4 10             	add    $0x10,%esp
 25f:	88 45 fb             	mov    %al,0xfffffffb(%ebp)
 262:	8a 45 fb             	mov    0xfffffffb(%ebp),%al
 265:	84 c0                	test   %al,%al
 267:	79 2b                	jns    294 <tty_keyisr+0x48>
 269:	b8 00 00 00 00       	mov    $0x0,%eax
 26e:	8a 45 fb             	mov    0xfffffffb(%ebp),%al
 271:	89 45 e8             	mov    %eax,0xffffffe8(%ebp)
 274:	83 7d e8 36          	cmpl   $0x36,0xffffffe8(%ebp)
 278:	74 0e                	je     288 <tty_keyisr+0x3c>
 27a:	81 7d e8 b6 00 00 00 	cmpl   $0xb6,0xffffffe8(%ebp)
 281:	74 05                	je     288 <tty_keyisr+0x3c>
 283:	e9 de 00 00 00       	jmp    366 <tty_keyisr+0x11a>
 288:	c6 05 00 00 00 00 00 	movb   $0x0,0x0
 28f:	e9 d2 00 00 00       	jmp    366 <tty_keyisr+0x11a>
 294:	b8 00 00 00 00       	mov    $0x0,%eax
 299:	8a 45 fb             	mov    0xfffffffb(%ebp),%al
 29c:	89 45 ec             	mov    %eax,0xffffffec(%ebp)
 29f:	83 7d ec 36          	cmpl   $0x36,0xffffffec(%ebp)
 2a3:	74 0b                	je     2b0 <tty_keyisr+0x64>
 2a5:	81 7d ec b6 00 00 00 	cmpl   $0xb6,0xffffffec(%ebp)
 2ac:	74 02                	je     2b0 <tty_keyisr+0x64>
 2ae:	eb 0c                	jmp    2bc <tty_keyisr+0x70>
 2b0:	c6 05 00 00 00 00 01 	movb   $0x1,0x0
 2b7:	e9 aa 00 00 00       	jmp    366 <tty_keyisr+0x11a>
 2bc:	c7 45 fc 00 00 00 00 	movl   $0x0,0xfffffffc(%ebp)
 2c3:	eb 10                	jmp    2d5 <tty_keyisr+0x89>
 2c5:	8b 45 fc             	mov    0xfffffffc(%ebp),%eax
 2c8:	8a 80 00 00 00 00    	mov    0x0(%eax),%al
 2ce:	84 c0                	test   %al,%al
 2d0:	74 0c                	je     2de <tty_keyisr+0x92>
 2d2:	ff 45 fc             	incl   0xfffffffc(%ebp)
 2d5:	81 7d fc ff 03 00 00 	cmpl   $0x3ff,0xfffffffc(%ebp)
 2dc:	7e e7                	jle    2c5 <tty_keyisr+0x79>
 2de:	81 7d fc 00 04 00 00 	cmpl   $0x400,0xfffffffc(%ebp)
 2e5:	74 7f                	je     366 <tty_keyisr+0x11a>
 2e7:	a0 00 00 00 00       	mov    0x0,%al
 2ec:	84 c0                	test   %al,%al
 2ee:	74 3c                	je     32c <tty_keyisr+0xe0>
 2f0:	b8 00 00 00 00       	mov    $0x0,%eax
 2f5:	8a 45 fb             	mov    0xfffffffb(%ebp),%al
 2f8:	8a 80 00 00 00 00    	mov    0x0(%eax),%al
 2fe:	84 c0                	test   %al,%al
 300:	75 11                	jne    313 <tty_keyisr+0xc7>
 302:	8b 45 fc             	mov    0xfffffffc(%ebp),%eax
 305:	8a 55 fb             	mov    0xfffffffb(%ebp),%dl
 308:	83 ca 80             	or     $0xffffff80,%edx
 30b:	88 90 00 00 00 00    	mov    %dl,0x0(%eax)
 311:	eb 53                	jmp    366 <tty_keyisr+0x11a>
 313:	8b 55 fc             	mov    0xfffffffc(%ebp),%edx
 316:	b8 00 00 00 00       	mov    $0x0,%eax
 31b:	8a 45 fb             	mov    0xfffffffb(%ebp),%al
 31e:	8a 80 00 00 00 00    	mov    0x0(%eax),%al
 324:	88 82 00 00 00 00    	mov    %al,0x0(%edx)
 32a:	eb 3a                	jmp    366 <tty_keyisr+0x11a>
 32c:	b8 00 00 00 00       	mov    $0x0,%eax
 331:	8a 45 fb             	mov    0xfffffffb(%ebp),%al
 334:	8a 80 00 00 00 00    	mov    0x0(%eax),%al
 33a:	84 c0                	test   %al,%al
 33c:	75 11                	jne    34f <tty_keyisr+0x103>
 33e:	8b 45 fc             	mov    0xfffffffc(%ebp),%eax
 341:	8a 55 fb             	mov    0xfffffffb(%ebp),%dl
 344:	83 ca 80             	or     $0xffffff80,%edx
 347:	88 90 00 00 00 00    	mov    %dl,0x0(%eax)
 34d:	eb 17                	jmp    366 <tty_keyisr+0x11a>
 34f:	8b 55 fc             	mov    0xfffffffc(%ebp),%edx
 352:	b8 00 00 00 00       	mov    $0x0,%eax
 357:	8a 45 fb             	mov    0xfffffffb(%ebp),%al
 35a:	8a 80 00 00 00 00    	mov    0x0(%eax),%al
 360:	88 82 00 00 00 00    	mov    %al,0x0(%edx)
 366:	c9                   	leave  
 367:	c3                   	ret    

00000368 <dmain>:
 368:	55                   	push   %ebp
 369:	89 e5                	mov    %esp,%ebp
 36b:	57                   	push   %edi
 36c:	56                   	push   %esi
 36d:	53                   	push   %ebx
 36e:	83 ec 1c             	sub    $0x1c,%esp
 371:	83 ec 0c             	sub    $0xc,%esp
 374:	68 00 00 00 00       	push   $0x0
 379:	e8 fc ff ff ff       	call   37a <dmain+0x12>
 37e:	83 c4 10             	add    $0x10,%esp
 381:	c7 45 f0 00 00 00 00 	movl   $0x0,0xfffffff0(%ebp)
 388:	eb 11                	jmp    39b <dmain+0x33>
 38a:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
 38d:	c7 04 c5 04 00 00 00 	movl   $0x1,0x4(,%eax,8)
 394:	01 00 00 00 
 398:	ff 45 f0             	incl   0xfffffff0(%ebp)
 39b:	81 7d f0 ff 0f 00 00 	cmpl   $0xfff,0xfffffff0(%ebp)
 3a2:	7e e6                	jle    38a <dmain+0x22>
 3a4:	c7 45 f0 00 00 00 00 	movl   $0x0,0xfffffff0(%ebp)
 3ab:	eb 0d                	jmp    3ba <dmain+0x52>
 3ad:	8b 45 f0             	mov    0xfffffff0(%ebp),%eax
 3b0:	c6 80 00 00 00 00 00 	movb   $0x0,0x0(%eax)
 3b7:	ff 45 f0             	incl   0xfffffff0(%ebp)
 3ba:	81 7d f0 ff 03 00 00 	cmpl   $0x3ff,0xfffffff0(%ebp)
 3c1:	7e ea                	jle    3ad <dmain+0x45>
 3c3:	b8 00 00 00 00       	mov    $0x0,%eax
 3c8:	89 c1                	mov    %eax,%ecx
 3ca:	b8 00 00 00 00       	mov    $0x0,%eax
 3cf:	89 c3                	mov    %eax,%ebx
 3d1:	b8 00 00 00 00       	mov    $0x0,%eax
 3d6:	89 c6                	mov    %eax,%esi
 3d8:	b8 00 00 00 00       	mov    $0x0,%eax
 3dd:	89 c7                	mov    %eax,%edi
 3df:	b8 00 00 00 00       	mov    $0x0,%eax
 3e4:	89 45 e0             	mov    %eax,0xffffffe0(%ebp)
 3e7:	b8 00 00 00 00       	mov    $0x0,%eax
 3ec:	89 c2                	mov    %eax,%edx
 3ee:	b8 00 00 00 00       	mov    $0x0,%eax
 3f3:	83 ec 0c             	sub    $0xc,%esp
 3f6:	6a 01                	push   $0x1
 3f8:	51                   	push   %ecx
 3f9:	53                   	push   %ebx
 3fa:	56                   	push   %esi
 3fb:	57                   	push   %edi
 3fc:	ff 75 e0             	pushl  0xffffffe0(%ebp)
 3ff:	52                   	push   %edx
 400:	50                   	push   %eax
 401:	68 0b 00 00 00       	push   $0xb
 406:	e8 fc ff ff ff       	call   407 <dmain+0x9f>
 40b:	83 c4 30             	add    $0x30,%esp
 40e:	83 ec 08             	sub    $0x8,%esp
 411:	68 00 00 00 00       	push   $0x0
 416:	6a 21                	push   $0x21
 418:	e8 fc ff ff ff       	call   419 <dmain+0xb1>
 41d:	83 c4 10             	add    $0x10,%esp
 420:	8d 65 f4             	lea    0xfffffff4(%ebp),%esp
 423:	5b                   	pop    %ebx
 424:	5e                   	pop    %esi
 425:	5f                   	pop    %edi
 426:	5d                   	pop    %ebp
 427:	c3                   	ret    
